/*** 
 * @_______________#########_______________________ 
 * @______________############_____________________ 
 * @______________#############____________________ 
 * @_____________##__###########___________________ 
 * @____________###__######_#####__________________ 
 * @____________###_#######___####_________________ 
 * @___________###__##########_####________________ 
 * @__________####__###########_####_______________ 
 * @________#####___###########__#####_____________ 
 * @_______######___###_########___#####___________ 
 * @_______#####___###___########___######_________ 
 * @______######___###__###########___######_______ 
 * @_____######___####_##############__######______ 
 * @____#######__#####################_#######_____ 
 * @____#######__##############################____ 
 * @___#######__######_#################_#######___ 
 * @___#######__######_######_#########___######___ 
 * @___#######____##__######___######_____######___ 
 * @___#######________######____#####_____#####____ 
 * @____######________#####_____#####_____####_____ 
 * @_____#####________####______#####_____###______ 
 * @______#####______;###________###______#________ 
 * @________##_______####________####______________ 
 * @
 * @Author: ipk518 121206530@qq.com
 * @Date: 2025-01-21 11:46:18
 * @LastEditors: ipk518 121206530@qq.com
 * @LastEditTime: 2025-02-19 16:58:53
 * @FilePath: /axilite_qspi/src/bitfile.h
 * @Description: 
 * @************佛祖保佑************
 * @Copyright (c) 2025 by etws@quyujiang, All Rights Reserved. 
 */



#ifndef BITFILE_H
#define BITFILE_H

struct bitfile {
    char *header;
    char *name;
    char *part;
    char *date;
    char *time;

    size_t data_len;
    char *data;
};

struct bitfile *bitfile_create_from_file(const char *bit_file_name);

struct bitfile *bitfile_create_from_buffer(char *buffer, size_t len);

int bitfile_parse(struct bitfile *bf, char *buffer, size_t len);

void bitfile_close(struct bitfile *bf);

#endif // BITFILE_H
